# 需求: 使用while循环快速计算1-100的累加和
"""
如果我想计算1-100的累加和 我应该怎么办?
1   2   3   4   5 .... 100
1.先计算1 + 2  将结果记录
2.之前计算的结果加上3,将结果记录
3.之前计算的结果加上4,将结果记录
4.之前计算的结果加上5,将结果记录
....
100.之前计算的结果加上100,将结果记录

最终的结果就为1-100的累加和

分析: 我们做了一百次相似的事情 将上一次计算的结果个下一个数字进行相加
1. 每次相加的数字都递增1
2. 我们要使用一个变量记录每一次计算的结果
"""

# 第一步: 获取1 - 100 的所有整数
# 1. 从几开始循环
i = 1
# 2. 到几结束循环
while i <= 100:
    # 3. 循环体中要打印每一个数字
    print(i)
    # 4. 循环变量自增,让下一次输出的数据累加1
    i += 1

# 第二步: 将 1 - 100 的数字累加到一起
# 1. 从几开始循环
i = 1
# 添加一个累加器,记录每次累加的结果(累加器一定要放在循环体外部,否则每次循环都会重新初始化)
sum1 = 0
# 2. 到几结束循环
while i <= 100:
    # 3. 在循环体中累加每一次计算的结果(要创建一个变量记录每一次的累加结果)
    sum1 = sum1 + i
    # 4. 循环变量自增, 让下一次累加的数组自增1
    i += 1

# 5. 打印最终计算的结果
print(sum1)  # 5050

print('_____________')

# 练习: 计算1-20的累乘积  1 * 2 * 3 .... * 20 = ?
# 1. 从几开始
i = 1
# 创建一个累加器, 累加器的初始值的原则就是不影响最终计算的结果
mul1 = 1
# 2. 到几结束,构建循环
while i <= 20:
    # 3. 进行累乘, 并在指定位置创建累加器
    mul1 *= i # mul1 = mul1 * i
    # 4. 让循环变量自增,控制循环此处,和累乘数据
    i += 1

print(f'1-20的累乘积为{mul1}')